const mysql = require('koa-mysql')

module.exports = {

  createPool(config = {}) {
    let db = mysql.createPool({
      // mysql连接的主机地址
      host: 'localhost',
      // mysql连接账号
      user: 'root',
      // mysql连接密码
      password: 'root',
      // 数据库名
      database: 'test',
      // 连接池中的连接对象要创建几个
      connectionLimit: 2,
      ...config
    });

    // 保持 this指向
    // let _query = db.query.bind(db)
    let _query = db.query

    /* db.query = function (sql) {
      return new Promise(function (resolve, reject) {
        _query(sql)(function (err, data) {
          if (!err) {
            resolve(data)
          } else {
            reject(err)
          }
        })
      })
    }
    return db; */

    db.query = sql => new Promise((resolve, reject) => {
      _query(sql)((err,data)=>{
        if (!err) {
          resolve(data)
        } else {
          reject(err)
        }
      })
    })
    return db;
  }
}
